﻿using CN2P.Recommendations.DomainModel;
using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CN2P.Recommendations.Repository.Interfaces
{
    //[ContractClass(typeof(IProductRecommendationRepositoryContract))]
    public interface IProductRecommendationRepository
    {
        bool IsInitialized { get; }

        IList<ProductReference> GetRecommendations(params string[] productIds);

        ProductRecommendation AddRecommendationTraversal(string fromProductId, string toProductId);

        ProductReference SubmitProductRating(string productId, float rating);
    }
}
